package types

type ReqGetThingByStationId struct {
	GroupId   int64  `json:"group_id" form:"group_id" binding:"required"`
	StationId string `json:"station_id" form:"station_id" binding:"required"`
}

type ReqDevice struct {
	StationId string `json:"station_id" form:"station_id" binding:"required"`
}

type ReqAirConditioningSwitch struct {
	ThingId string `json:"thing_id" form:"thing_id" binding:"required"`
	Status  string `json:"status" form:"status" binding:"required"`
}

type ReqAirConditioningDispatch struct {
	ThingId     string `json:"thing_id" form:"thing_id" binding:"required"`
	Temperature string `json:"SetTemperature" form:"SetTemperature" binding:"required"`
	Mod         string `json:"mod" form:"mod" binding:"required"`
	Speed       string `json:"speed" form:"speed" binding:"required"`
	Control     string `json:"control" form:"control" binding:"required"`
}

type ReqGetHomeThingData struct {
	StationId string `json:"station_id" form:"station_id" binding:"required"`
	ModelIds  string `json:"model_ids" form:"model_ids" binding:"required"`
}

type GetThingStatus struct {
	StationId string `json:"station_id" form:"station_id" binding:"required"`
	ModelIds  string `json:"model_ids" form:"model_ids" binding:"required"`
}

type ReqCalibratorZero struct {
	StationId string `json:"station_id" form:"station_id" binding:"required"`
	ModelId   string `json:"model_id" form:"model_id" binding:"required"`
	Event     string `json:"event" form:"event" binding:"required"` // start, end , confirm
}

type ReqCalibratorSpan struct {
	StationId string `json:"station_id" form:"station_id" binding:"required"`
	ModelId   string `json:"model_id" form:"model_id" binding:"required"`
	Event     string `json:"event" form:"event"`
	Number    int    `json:"number" form:"number"`
	Units     string `json:"units" form:"units"`
}

type ReqCaliTask struct {
	StationId string `json:"station_id" form:"station_id" binding:"required"`
	ModelId   string `json:"model_id" form:"model_id" binding:"required"`
	TaskType  string `json:"task_type" form:"task_type" binding:"required"`
}

type ReqStopCaliTask struct {
	StationId string `json:"station_id" form:"station_id" binding:"required"`
	ModelId   string `json:"model_id" form:"model_id"`
}

type ReqQueryCaliTaskStatus struct {
	StationId string `json:"station_id" form:"station_id" binding:"required"`
}

type ReqQueryHis struct {
	BasePage
	StationId string `json:"station_id" form:"station_id" binding:"required"`
	Classify  string `json:"classify" form:"classify"`
	StartTime string `json:"start_time" form:"start_time"`
	EndTime   string `json:"end_time" form:"end_time"`
}

type ReqExcelHis struct {
	StationId string `json:"station_id" form:"station_id" binding:"required"`
	Classify  string `json:"classify" form:"classify"`
	StartTime string `json:"start_time" form:"start_time"`
	EndTime   string `json:"end_time" form:"end_time"`
}

type ReqService struct {
	ThingIds []string `json:"thing_ids" form:"thing_ids" binding:"required"`
}

type ReqThingData struct {
	ThingId string `json:"thing_id" form:"thing_id" binding:"required"`
	Field   string `json:"field" form:"field" binding:"required"`
	Type    string `json:"type"`
}
